home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CDsupport / IDer / Routines / GetCurrentName.s < prev    next >
Text File  |  1997-02-18  |  1KB  |  78 lines

  1. GetCurrentName:    Cmp.W    #ARGS_READARG,_ArgMode
  2.     Bne.S    .NotRDAArgs
  3.  
  4.     Move.L    _CurrentName(PC),A0
  5.     Move.L    (A0)+,D1
  6.     Move.L    A0,_CurrentName
  7.  
  8.     Tst.L    D1
  9.     Beq    LaunchDone
  10.     Move.L    D1,_FileName        ;so we know what to load
  11.     Bra    .GotName
  12.  
  13. .NotRDAArgs
  14. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  15.     Cmp.W    #ARGS_ASLREQ,_ArgMode
  16.     Bne.S    .NotASLReq
  17.  
  18.     Move.L    _Requestor(PC),A4
  19.     Lea    FileName,A2
  20.     Move.L    A2,D1
  21.     Move.L    fr_Drawer(A4),D2
  22.     Move.L    #1024,D3
  23.     CALL    AddPart,DOS
  24.  
  25.     Move.L    _CurrentName(PC),A0
  26.     Move.L    (A0)+,D0        ;wa_Lock
  27.     Move.L    (A0)+,D2        ;wa_Name
  28.     Move.L    A0,_CurrentName
  29.     Tst.L    D2
  30.     Beq    LaunchDone
  31.  
  32.     Move.L    A2,D1
  33.     Move.L    #1024,D3
  34.     CALL    AddPart
  35.     Move.L    A2,_FileName
  36.     Bra.S    .GotName
  37. .NotASLReq
  38. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  39.     Cmp.W    #ARGS_ICONS,_ArgMode
  40.     Bne    LaunchFinished
  41.  
  42.     Move.L    _CurrentName(PC),A0
  43.     Lea    FileName,A2
  44.     Move.L    (A0)+,D4
  45.     Move.L    (A0)+,D5
  46.     Move.L    A0,_CurrentName
  47.     Tst.L    D5
  48.     Bne.S    .NameOK
  49.  
  50.     Subq.W    #1,_LoopCount
  51.     Beq    LaunchFinished
  52.     Bra    GetCurrentName
  53.  
  54. .NameOK    Tst.L    D4
  55.     Bne.S    .LockOK
  56.  
  57.     Subq.W    #1,_LoopCount
  58.     Beq    LaunchFinished
  59.     Bra    GetCurrentName
  60.  
  61. .LockOK    Move.L    D4,D1
  62.     Move.L    A2,D2
  63.     Move.L    #1024,D3
  64.     CALL    NameFromLock,DOS
  65.  
  66.     Move.L    A2,D1
  67.     Move.L    D5,D2
  68.     Move.L    #1024,D3
  69.     CALL    AddPart
  70.     Move.L    A2,_FileName
  71.  
  72. ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  73. .GotName    Move.L    _FileName(PC),D1
  74.     Move.L    D1,_ErrFN1+4        ;for error reporting
  75.     Move.L    D1,_ErrFN2+4        ;for error reporting
  76.     CALL    FilePart,DOS        ;just get the filename, exclude the path
  77.     Move.L    D0,_FilePart
  78.